Reppa

2020 Global Game jam submission where the theme was "Reppair". This game you play as a robot named REPPA who must traverse a cave and find their body parts to repair themself.

> Play Here!

Genre: 2D Platformer
Role: Sprite artist / UI artist / UI coder
Platform:PC
Engine: Unity
Time: 48 Hours
Team: 5 members

Reflections on Development

This is the first game made with a team outside of my classes. Usually in class we worked in a team of more than 15 to make a game with different groups working on coding, art, sounds, and everything it takes to work on games. In this project for the global game jam we only had 48 hours to make a game with 5 teammates. So there was a lot of work for new coders to cover in a short time.

I chose to work on coding the user interface because as a new game coder it was something I was comfortable with. Besides small work like helping with enemies and sprites the two biggest things I worked on were the UI elements like the ammo bar and the rolling text on screen used to communicate with the player.

What I received from this jam was not only more connections but also very important skills to help me become more confident in my coding. I was capable of understanding how important my role was and help guide the team through. I also learned more coding techniques and how to handle UI elements. I'm proud of the final product we produced and collectively we won 2nd place with this project. I felt The UI for the text roll was a very nice touch.

Notable Code Block:


This block of code is a health bar script used for displaying a current player’s health. I created this script to be more universal so It can be used in different projects easily.

In this project I manipulated some values into the script and tied it to an input to use it as an ammunition count for the weapon you receive later in the level. It can be seen when the player reaches the wrench used by REPPA to repair.

            
public class healthbar : MonoBehaviour
{
    public Transform bar;
    private float size = 1f;

    // Start is called before the first frame update
    void Start()
    {
    }

    // Update is called once per frame
    void Update()
    {
        healthchange();
        colorChange();
      
        bar.localScale = new Vector2(size, 1f);
    }

    //use to change healthbar
    private void healthchange()
    {
        if (Input.GetMouseButton(0))
        {
            if (size > 0)
            {
                size -= .01f;
                if (size < 0)
                {
                    size = 0;
                }
            }
        }
        if (Input.GetMouseButton(1))
        {
            if (size < 1)
            {
                size += .02f;
            }
            if (size > 1)
            {
                size = 1;
            }
        }
    }

    private void colorChange()
    {
        if (size < .35f)
        {
            if ((size * 100f) % 3 == 0)
            {
                bar.Find("BarSprite").GetComponent<Image>().color = (Color.white);
            }
            else
            {
                bar.Find("BarSprite").GetComponent<Image>().color = (Color.red);
            }
        }
        if (size > .35f)
        {
            bar.Find("BarSprite").GetComponent<Image>().color = (Color.red);
        }
    }
}